TPA2016D2
Embedded-hal Driver for the TI TPA2016D2 Stereo Class-D amplifier.
Notes
Example
#![no_main]
#![no_std]
use cortex_m_rt::entry;
use cortex_m_semihosting::hprintln;
use panic_semihosting as _;
use nucleo_f401re as board;
use board::hal::prelude::*;
use board::hal::stm32;
use board::hal::i2c::I2c;
use tpa2016d2::Tpa2016d2;
#[entry]
fn main() -> ! {
let device = stm32::Peripherals::take().unwrap();
let rcc = device.RCC.constrain();
let clocks = rcc.cfgr.sysclk(84.mhz()).freeze();
let gpiob = device.GPIOB.split();
let scl = gpiob.pb8
.into_alternate_af4()
.internal_pull_up(true)
.set_open_drain();
let sda = gpiob.pb9
.into_alternate_af4()
.internal_pull_up(true)
.set_open_drain();
let i2c = I2c::i2c1(device.I2C1, (scl, sda), 200.khz(), clocks);
let mut tpa = Tpa2016d2::new(i2c);
for i in 1..=7 {
let v = tpa.read_device_reg(i).unwrap();
hprintln!("{}: {}", i, v).unwrap();
}
tpa.gain(32).unwrap();
hprintln!("gain: {}", tpa.read_device_reg(5).unwrap()).unwrap();
loop {
}
}
TODO